using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("Gameplay")]
	public class Gameplay : PegasusScene
	{
		public bool m_unloading => method_2<bool>("m_unloading");

		public bool m_handleLastFatalBnetErrorNow => method_2<bool>("m_handleLastFatalBnetErrorNow");

		public float m_boardProgress => method_2<float>("m_boardProgress");

		public List<NameBanner> m_nameBanners => method_3<Class271<NameBanner>>("m_nameBanners")?.method_25();

		public NameBanner m_nameBannerGamePlayPhone => method_3<NameBanner>("m_nameBannerGamePlayPhone");

		public Actor m_cardDrawStandIn => method_3<Actor>("m_cardDrawStandIn");

		public bool m_criticalAssetsLoaded => method_2<bool>("m_criticalAssetsLoaded");

		public Gameplay(IntPtr address, string className)
			: base(address, className)
		{
		}

		public Gameplay(IntPtr address)
			: this(address, "Gameplay")
		{
		}

		public static Gameplay Get()
		{
			return MonoClass.smethod_15<Gameplay>(TritonHs.MainAssemblyPath, "", "Gameplay", "Get", Array.Empty<object>());
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void CheckBattleNetConnection()
		{
			method_8("CheckBattleNetConnection");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void OnGUI()
		{
			method_8("OnGUI");
		}

		public void LayoutProgressGUI()
		{
			method_8("LayoutProgressGUI");
		}

		public new void PreUnload()
		{
			method_8("PreUnload");
		}

		public new bool IsUnloading()
		{
			return method_11<bool>("IsUnloading", Array.Empty<object>());
		}

		public new void Unload()
		{
			method_8("Unload");
		}

		public void RemoveClassNames()
		{
			method_8("RemoveClassNames");
		}

		public void RemoveNameBanners()
		{
			method_8("RemoveNameBanners");
		}

		public void AddGamePlayNameBannerPhone()
		{
			method_8("AddGamePlayNameBannerPhone");
		}

		public void RemoveGamePlayNameBannerPhone()
		{
			method_8("RemoveGamePlayNameBannerPhone");
		}

		public void UpdateFriendlySideMedalChange(MedalInfoTranslator medalInfo)
		{
			method_8("UpdateFriendlySideMedalChange", medalInfo);
		}

		public void UpdateEnemySideNameBannerName(string newName)
		{
			method_8("UpdateEnemySideNameBannerName", newName);
		}

		public Actor GetCardDrawStandIn()
		{
			return method_14<Actor>("GetCardDrawStandIn", Array.Empty<object>());
		}

		public NameBanner GetNameBannerForSide(Player.Side wantedSide)
		{
			return method_14<NameBanner>("GetNameBannerForSide", new object[1] { wantedSide });
		}

		public void SetGameStateBusy(bool busy, float delay)
		{
			method_8("SetGameStateBusy", busy, delay);
		}

		public void SwapCardBacks()
		{
			method_8("SwapCardBacks");
		}

		public bool HasBattleNetFatalError()
		{
			return method_11<bool>("HasBattleNetFatalError", Array.Empty<object>());
		}

		public void ProcessGameSetupPacket()
		{
			method_8("ProcessGameSetupPacket");
		}

		public bool IsHandlingNetworkProblem()
		{
			return method_11<bool>("IsHandlingNetworkProblem", Array.Empty<object>());
		}

		public bool ShouldHandleDisconnect()
		{
			return method_11<bool>("ShouldHandleDisconnect", Array.Empty<object>());
		}

		public void HandleDisconnect()
		{
			method_8("HandleDisconnect");
		}

		public bool IsDoneUpdatingGame()
		{
			return method_11<bool>("IsDoneUpdatingGame", Array.Empty<object>());
		}

		public void OnBnetErrorResponse(AlertPopup.Response response, object userData)
		{
			method_8("OnBnetErrorResponse", response, userData);
		}

		public void HandleLastFatalBnetError()
		{
			method_8("HandleLastFatalBnetError");
		}

		public void OnPowerHistory()
		{
			method_8("OnPowerHistory");
		}

		public void OnAllOptions()
		{
			method_8("OnAllOptions");
		}

		public void OnEntityChoices()
		{
			method_8("OnEntityChoices");
		}

		public void OnEntitiesChosen()
		{
			method_8("OnEntitiesChosen");
		}

		public void OnUserUI()
		{
			method_8("OnUserUI");
		}

		public void OnOptionRejected()
		{
			method_8("OnOptionRejected");
		}

		public void OnTurnTimerUpdate()
		{
			method_8("OnTurnTimerUpdate");
		}

		public void OnSpectatorNotify()
		{
			method_8("OnSpectatorNotify");
		}

		public bool AreCriticalAssetsLoaded()
		{
			return method_11<bool>("AreCriticalAssetsLoaded", Array.Empty<object>());
		}

		public bool CheckCriticalAssetLoads()
		{
			return method_11<bool>("CheckCriticalAssetLoads", Array.Empty<object>());
		}

		public void InitCardBacks()
		{
			method_8("InitCardBacks");
		}

		public void LoadBoard(Network.GameSetup setup)
		{
			method_8("LoadBoard", setup);
		}

		public void OnBoardLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnBoardLoaded", assetRef, go, callbackData);
		}

		public void OnBoardProgressUpdate(string name, float progress, object callbackData)
		{
			method_8("OnBoardProgressUpdate", name, progress, callbackData);
		}

		public void OnBoardCamerasLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnBoardCamerasLoaded", assetRef, go, callbackData);
		}

		public void OnBoardStandardGameLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnBoardStandardGameLoaded", assetRef, go, callbackData);
		}

		public void OnBoardTutorialLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnBoardTutorialLoaded", assetRef, go, callbackData);
		}

		public void OnEndTurnButtonLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnEndTurnButtonLoaded", assetRef, go, callbackData);
		}

		public void OnTurnTimerLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnTurnTimerLoaded", assetRef, go, callbackData);
		}

		public void OnRemoteActionHandlerLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnRemoteActionHandlerLoaded", assetRef, go, callbackData);
		}

		public void OnChoiceCardMgrLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnChoiceCardMgrLoaded", assetRef, go, callbackData);
		}

		public void OnInputManagerLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnInputManagerLoaded", assetRef, go, callbackData);
		}

		public void OnMulliganManagerLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnMulliganManagerLoaded", assetRef, go, callbackData);
		}

		public void OnTurnStartManagerLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnTurnStartManagerLoaded", assetRef, go, callbackData);
		}

		public void OnTargetReticleManagerLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnTargetReticleManagerLoaded", assetRef, go, callbackData);
		}

		public void OnPlayerBannerLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnPlayerBannerLoaded", assetRef, go, callbackData);
		}

		public void OnCardDrawStandinLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnCardDrawStandinLoaded", assetRef, go, callbackData);
		}

		public void OnTransitionFinished(bool cutoff, object userData)
		{
			method_8("OnTransitionFinished", cutoff, userData);
		}

		public void ProcessQueuedPowerHistory()
		{
			method_8("ProcessQueuedPowerHistory");
		}

		public bool IsLeavingGameUnfinished()
		{
			return method_11<bool>("IsLeavingGameUnfinished", Array.Empty<object>());
		}

		public void OnCreateGame(GameState.CreateGamePhase phase, object userData)
		{
			method_8("OnCreateGame", phase, userData);
		}

		public void SaveOriginalTimeScale()
		{
			method_8("SaveOriginalTimeScale");
		}

		public void RestoreOriginalTimeScale()
		{
			method_8("RestoreOriginalTimeScale");
		}
	}
}
